package cn.engage.basic.mapper;

import cn.engage.basic.domain.BaseDomain;
import cn.engage.basic.query.BaseQuery;
import cn.engage.org.domain.Department;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface BaseMapper<T> {
    // 查询所有
    List<T> findAll();

    //  查询总条数
    Integer queryByCount(BaseQuery query);

    // 分页查询
    List<T> queryByPage(BaseQuery query);

    // 修改
    void update(T t);

    // 添加
    void add(T t);

    // 批量删除
    void patchDelete(List<Long> ids);

    // 根据id删除
    void delete(Long id);
    // 根据id查询
    List<T> findById(Long id);
    // 根据id查询一个
    T findByIdOne(Long id);
}
